-
Notifications
You must be signed in to change notification settings - Fork 158
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
merge gsl institutional fork #526
merge gsl institutional fork #526
Conversation
…-physics for gsl/develop branch
Implementation of RUC LSM ice model in CCPP * Squash-merge climbfuji:rucice_gfsv16dzmin into gsl/develop * Fix bug in gfsphysics/GFS_layer/GFS_typedefs.F90 from merge * Remove lsm_ruc_sfc_sice from suite FV3_GSD_v0_unified_ugwp_suite and update submodule pointer for ccpp-physics * Remove sfc_sice from ccpp/suites/suite_FV3_GSD_v0_unified_ugwp_suite.xml * Update submodule pointer for ccpp-physics * Revert change to .gitmodules and update submodule pointer for ccpp-physics Co-authored-by: Dom Heinzeller <[email protected]>
* Fix for updating stochastic physics on separate time-step. (NOAA-EMC#199) This bug fix allows the random patterns in the stochastic physics persist the for a period of time (defined as SKEBINT,SPPTINT, etc.) before calculating new patterns. The fix is to move the allocation of the saved variables into the init section of stochastic_physics_wrapper, and remove the deallocates in the run section. * Bug fixes in (1) running with frac_grid=T and GFDL MP and (2) restarting with frac_grid=T (NOAA-EMC#204) * -- Pointing to Moorthi's modifications in ccpp/physics, which fixed the crash when running GFDL MP with frac_grid=T; -- Not setting fice to zero in order to leave lake ice untouched; -- Restart in the coupled model with the default physics is reproducible, if bad water temperature is only filtered at initial time; Co-authored-with: Shrinivas Moorthi <[email protected]> Co-authored-with: Denise Worthen <[email protected]> * Revert change to .gitmodules and update submodule pointer for ccpp-physics Co-authored-by: Phil Pegion <[email protected]> Co-authored-by: shansun6 <[email protected]>
* Move initialization of stochastic physics after the physics initialization in CCPP. * Add albedo variables to land perturbations with lndp_type=2 option. Change to accommodate soil perturbations with RUC LSM. * Max/min soil moisture variables are introduced via GFS_Control_type variables instead of through the use of namelist_soilveg*. This is a more flexible way for different LSMs. * Added pores and resid variables for max/min soil moisture to GFS_typedefs.f90. * Remove tracer_sanitizer from all suites and from CCPP prebuild config * Add namelist option to apply land surface perturbations at every time step, clean up stochastic_physics/stochastic_physics_wrapper.F90 Co-authored-by: tanyasmirnova <[email protected]>
…perturbed variables (NCAR#70) * Added roughness length over land to the perturbed variables. * Bugfix in gfsphysics/GFS_layer/GFS_typedefs.F90: remove Diag%cldcov, in particular the reset call because the variable is not allocated Co-authored-by: Dom Heinzeller <[email protected]>
* Fix for updating stochastic physics on separate time-step. (NOAA-EMC#199) This bug fix allows the random patterns in the stochastic physics persist the for a period of time (defined as SKEBINT,SPPTINT, etc.) before calculating new patterns. The fix is to move the allocation of the saved variables into the init section of stochastic_physics_wrapper, and remove the deallocates in the run section. * Bug fixes in (1) running with frac_grid=T and GFDL MP and (2) restarting with frac_grid=T (NOAA-EMC#204) * -- Pointing to Moorthi's modifications in ccpp/physics, which fixed the crash when running GFDL MP with frac_grid=T; -- Not setting fice to zero in order to leave lake ice untouched; -- Restart in the coupled model with the default physics is reproducible, if bad water temperature is only filtered at initial time; Co-authored-with: Shrinivas Moorthi <[email protected]> Co-authored-with: Denise Worthen <[email protected]> * jedi-ufs with ccpp-physics submodule update (contains NOAA-EMC#201) (NOAA-EMC#211) * updated CMakeLists.txt * Changes for JEDI linking/control * Update .gitmodules and submodule pointer for ccpp-physics for code review and testing * Revert change to .gitmodules and update submodule pointer for ccpp-physics Co-authored-by: Mark Potts <[email protected]> * Final-final GFS v16 updates / restart reproducibility bugfixes (NOAA-EMC#212) * updates the submodule pointer for ccpp-physics for the final-final (!) GFS v16 physics updates * fixes a bug in io/FV3GFS_io.F90 to obtain restart reproducibility for uncoupled and coupled runs - contributed by @SMoorthi-emc Co-authored-by: Shrinivas.Moorthi <[email protected]> * RRTMGP coupling to Thompson MP in ccpp-physics (NOAA-EMC#208) * Updated physics. Added infrastructure to FV3 to handle new GP capabilities. Thompson MP, LW scattering, Use of LW-jacobian to update surface tendencies. * Some small changes to work with physics improvements to RRTMGP. * RRTMGP working with Thompson MP. * Updated .gitmodules. * Updated physics. New interstitials. * Synced with NCAR/master * Updated ccpp-physics * Updated physics submodule. * Cleanup * Update physics * Updated physics submodule pointer. * Updated physics submodule hash. * Minor bug fixes to CCPP UGWP (update submodule pointer for ccpp-physics) (NOAA-EMC#216) Update the submodule pointer for ccpp-physics for minor bugfixes in CCPP's Unified Gravity Wave Drag parameterization. * Remove IPD (step 1) (NOAA-EMC#215) Remove all IPD source files that are not needed to compile with CCPP. Update gfsphysics/CMakeLists.txt and gfsphysics/GFS_layer/GFS_driver.F90 so that the code compiles after removing IPD sources. Also: update submodule pointer for GFDL_atmos_cubed_sphere to include PR NOAA-EMC/GFDL_atmos_cubed_sphere#48 ("Removed use of mpp_node for use with FMS 2020.04"). * Update submodule pointers for ccpp-framework (ccpp_prebuild bugfix) and ccpp-physics (RRTMGP GFDL-MP bugfix) (NOAA-EMC#218) Update the submodule pointers for ccpp-framework and ccpp-physics for the changes described in NCAR/ccpp-framework#343 and NCAR/ccpp-physics#536. * Remove unnecessary SIMD instruction sets from ccpp/CMakeLists.txt (NOAA-EMC#220) * Remove additional/unnecessary SIMD instruction sets from ccpp/CMakeLists.txt * Implementation of CCPP timestep_init and timestep_final phases (NOAA-EMC#217) - replace calls to CCPP step `time_vary` with `timestep_init` in `atmos_model.F90`, add call to CCPP step `timestep_final` - update `ccpp/driver/CCPP_driver.F90` with calls to CCPP `timestep_init` and `timestep_final` - add `h2o_def.f` and `ozne_def.` to `ccpp_prebuild_config.py` - update of `gfsphysics/GFS_layer/GFS_typedefs.F90`: cleanup work for o3 and h2o physics (required by the updates to the CCPP time vary physics) - update metadata in `gfsphysics/GFS_layer/GFS_typedefs.meta` for the above changes, and clean up the index used for the surface wind enhancement due to convection in the `phy_f2d` array (use proper index, not just the last entry in the array) * add radiation_clouds_thompson_dependency in ccpp physics (NOAA-EMC#225) * using radiation_clouds_thompson_dependency ccpp physics branch * point to ccpp master branch * Remove IPD steps 3 and 5 (NOAA-EMC#224) * Implementation of CCPP timestep_init and timestep_final phases in fv3atm; cleanup work in GFS_typedefs for o3 and h2o physics as a result of the changes to the time vary physics in CCPP * Use proper index variable for surface wind enhancement due to convection in phy_f2d array in GFS_typedefs.{F90,meta}, move code to clear diagnostic buckets using GFS DDT bound procedures from atmos_model.F90 to CCPP_driver.F90 * First step of cleanup process: remove CCPP preprocessor directives, remove parts of unused IPD code, update cmake build system, Delete IPD source code, Replace IPD DDTs with GFS DDTs, Bugfix in atmos_model.F90; add missing call to GFS_externaldiag_populate, Move contents of gfsphysics/{CCPP_layer,GFS_layer} to ccpp/{data,driver}, entirely deleted IPD typedefs, Rename module GFS_driver to GFS_init * Fix indentation in ccpp/data/CMakeLists.txt and ccpp/driver/CMakeLists.txt * Add logic to set DYN32 depending on 32BIT setting * Pass preprocessor directive GFS_TYPES to dycore to enable use of GFS data types * Compile GFS_diagnostics.F90 without optimization, this leads to out of memory errors on wcoss_dell_p3 * Add CCPP rrtmgp fix (NOAA-EMC#237) * ccpp physics merged with top of master * point back to ccpp master branch * Update develop from NOAA-GSL: RUC ice, MYNN sfclay, stochastic land perturbations (NOAA-EMC#239) * Update .gitmodules and submodule pointers for ccpp-framework and ccpp-physics for gsl/develop branch * RUC ice for gsl/develop (replaces NCAR#54 and NCAR#56) (NCAR#60) Implementation of RUC LSM ice model in CCPP * Fix bug in gfsphysics/GFS_layer/GFS_typedefs.F90 from merge * Remove lsm_ruc_sfc_sice from suite FV3_GSD_v0_unified_ugwp_suite and update submodule pointer for ccpp-physics * Remove sfc_sice from ccpp/suites/suite_FV3_GSD_v0_unified_ugwp_suite.xml * Update gsl/develop from develop 2020/12/08 (NCAR#61) * Fix for updating stochastic physics on separate time-step. (NOAA-EMC#199) This bug fix allows the random patterns in the stochastic physics persist the for a period of time (defined as SKEBINT,SPPTINT, etc.) before calculating new patterns. The fix is to move the allocation of the saved variables into the init section of stochastic_physics_wrapper, and remove the deallocates in the run section. * Bug fixes in (1) running with frac_grid=T and GFDL MP and (2) restarting with frac_grid=T (NOAA-EMC#204) * -- Pointing to Moorthi's modifications in ccpp/physics, which fixed the crash when running GFDL MP with frac_grid=T; -- Not setting fice to zero in order to leave lake ice untouched; -- Restart in the coupled model with the default physics is reproducible, if bad water temperature is only filtered at initial time; Co-authored-with: Shrinivas Moorthi <[email protected]> Co-authored-with: Denise Worthen <[email protected]> * Revert change to .gitmodules and update submodule pointer for ccpp-physics * Update submodule pointer for ccpp-physics - MYNN surface layer updates and bugfixes (NCAR#63) * Land stochastic perturbations (wrapper PR for NCAR#65) (NCAR#68) * Move initialization of stochastic physics after the physics initialization in CCPP. * Add albedo variables to land perturbations with lndp_type=2 option. Change to accommodate soil perturbations with RUC LSM. * Max/min soil moisture variables are introduced via GFS_Control_type variables instead of through the use of namelist_soilveg*. This is a more flexible way for different LSMs. * Added pores and resid variables for max/min soil moisture to GFS_typedefs.f90. * Remove tracer_sanitizer from all suites and from CCPP prebuild config * Add namelist option to apply land surface perturbations at every time step, clean up stochastic_physics/stochastic_physics_wrapper.F90 * Stochastic land perturbations: add roughness length over land to the perturbed variables (NCAR#70) * Added roughness length over land to the perturbed variables. * Bugfix in gfsphysics/GFS_layer/GFS_typedefs.F90: remove Diag%cldcov, in particular the reset call because the variable is not allocated * Update .gitmodules and submodule pointer for GFDL_atmos_cubed_sphere for code review and testing * Revert change to .gitmodules for ccpp-physics, update submodule pointer for ccpp-physics * Revert change to .gitmodules and update submodule pointer for GFDL_atmos_cubed_sphere Co-authored-by: DomHeinzeller <[email protected]> Co-authored-by: Phil Pegion <[email protected]> Co-authored-by: shansun6 <[email protected]> Co-authored-by: tanyasmirnova <[email protected]> * Dycore change to add an option to zero-gradient BC for height advection and change dz_min as a namelist input (NOAA-EMC#232) * Point dycore to a personal branch * Point to new version of dycore * Update the dycore version * Update the dycore version * Point to NOAA-EMC dev/emc dycore branch * Remove gnumake build remnants, change v16beta to v16 (NOAA-EMC#234) * Remove gnumake files * Replace v16beta with v16 for all CCPP suites * Remove unused CCPP_INCLUDE_DIRS/CCPP_LIB_DIRS from ccpp/CMakeLists.txt * Move LSM vegetation lookup tables into CCPP, clean up RUC snow cover on ice initialization (remove IPD step 2) (NOAA-EMC#244) * Move LSM vegetation lookup tables into CCPP, clean up RUC snow cover on ice initialization * Revert change to .gitmodules and update submodule pointer for ccpp-physics * UGWP v0 v1 combined (NOAA-EMC#241) * .gitmodules/gsl atmos-cubed cccp-fram cccp/physics * update fv3atm from NOAA-EMC Jan 9 * new suite_FV3_GFS_v16b_ugwpv1.xml and modifications Jan 11/2021 * Added new logical flag do_ugwp_v0_nst_only which allows non-stationary drag from ugwp_v0 to be run with GSL drag suite * Fix formatting in ccpp/data/GFS_typedefs.* * Clean up allocation of arrays in ccpp/data/GFS_typedefs.F90, add active attribute (pass 1) to ccpp/data/GFS_typedefs.meta, strip trailing whitespaces from both * Update and cleanup of metadata for UGWPv0, UGWPv1, drag suite * Reorganize UGWP diagnostic variables in data/GFS_typedefs.{F90,meta} * Bugfix for uninitialized data in ccpp/data/GFS_typedefs.F90 * Update submodule pointer for ccpp-physics * Allocate 3d diagnostic arrays as dummy arrays if not used Co-authored-by: valery.yudin <[email protected]> Co-authored-by: Michael Toy <[email protected]> * SDF for GFSv16 with Thompson (NOAA-EMC#238) * SDF for GFSv16 with Thompson * Delete suite_FV3_GFS_v16beta_thompson.xml * update to new commit of Thompson MP in ccpp physics Co-authored-by: Phil Pegion <[email protected]> Co-authored-by: shansun6 <[email protected]> Co-authored-by: Mark Potts <[email protected]> Co-authored-by: Shrinivas.Moorthi <[email protected]> Co-authored-by: dustinswales <[email protected]> Co-authored-by: Jun Wang <[email protected]> Co-authored-by: XiaqiongZhou-NOAA <[email protected]> Co-authored-by: valery.yudin <[email protected]> Co-authored-by: Michael Toy <[email protected]> Co-authored-by: XiaSun-NOAA <[email protected]>
…NCAR#74) * Update .gitmodules and submodule pointer for ccpp-physics for code review and testing * Revert change to .gitmodules and update submodule pointer for ccpp-physics
* Add logical convert_dry_rho for Thompson MP, hardcoded to false * Initialize all variables to NaN in ccpp-physics in DEBUG mode * Update submodule pointer for ccpp-physics
…amework and ccpp-physics
…ter_20210316 Update gsl/develop from develop 20210316
…-physics for code review and testing
…ate_gsl_develop_from_develop_20210331
…ramework and ccpp-physics
…elop_20210331 Update gsl/develop from develop 2021/03/31
…-pgr-like-wrf per-timestep diagnostic output: FV3 version of WRF noise parameter
Add diagnostic tendencies for all tracers. Move all d*3dt variables into a 4D sparse array stored as `dtend(i,k,dtidx(tracer,process))` to reduce memory usage.
* Fix incorrect units in dtend metadata * Make the tracer tendency units mandatory.
@SamuelTrahanNOAA @haiqinli The merge date for this code is approaching. Have all edits that you plan to include in this PR been completed? As I commented before, it is probably OK to have a cleanup PR if necessary for unresolved metadata comments, although I would request adding an issue to track that if that is the desired path since there are definitely still some standard names that need work. |
@grantfirl We have completed most of the changes of standard name in metadata tables, and also got rid of the using of physcons. However, we can't finish the cleaning of all the local constants in this week. I suggest we merge with what we have done right now. We will take care of the remaining issues in our next PR. |
Sounds good @haiqinli . @SamuelTrahanNOAA It looks like NCAR/ccpp-physics#911 is the next CCPP PR to get worked on. There were merges into ccpp-physics and framework this morning, so please update your ccpp-physics branch and make sure that fv3atm is pointing to it. Also, it looks like the current UFS PR that is being worked on doesn't have an fv3atm component, so you should be able to update this branch to the latest develop as well. |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
This PR is approved although there are some standard_names in the GFS_typedefs.meta are not named accurately.
@ChunxiZhang-NOAA Yes, this is noted in the pull request comments. In order to meet the developers' timelines, we've decided to merge this as-is and require a followup PR to clean up some of these types of things. I've added an issue in ccpp-physics to track this: NCAR/ccpp-physics#922 |
@grantfirl Good to know, thanks. |
@SamuelTrahanNOAA NCAR/ccpp-physics#911 has been merged. Please revert changes to .gitmodules and update your ccpp-physics submodule pointer in anticipation of merge in this repo. |
@SamuelTrahanNOAA Please update .gitmodules and ccpp/physics hash |
…uelTrahanNOAA/fv3atm into gsl/merge-develop-to-community
Done. |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Hash and .gitmodules looks OK and has previous approvals.
* Feature/ccpp codeowners (NOAA-EMC#442) * Per-file CODEOWNERS in ccpp/physics to set up automatic review requests * Code cleanup. Remove used code/variables. Fix minor inconsistencies. (NOAA-EMC#440) * Remove ESMF Alarm and TimeInterval variables from module_fv3_config. * Variables nfhmax, nfhmax_hf are unused outside InitializeAdvertise. Declared them as local variables. * There is no need to keep duplicates of all time related variables in atm_int_state when we can easily access them from atm_int_state%Atm. * Remove redundant call to fms_init * Add few missing ESMF_LogFoundError checks in module_fcst_grid_comp.F90 * Delete time_utils.F90. Unused. * print only actual errors to stderr, everything else to stdout * Move realizeConnectedCplFields to module_cplfields from module_cap_cpl * Declare Atmos as module variable, and remove atmos_internalstate_wrapper * Move code from clock_cplIntval to InitializeAdvertise * Removed INTERNAL_FILE_NML from atmos_model.F90 * CCPP cloud cover change for Thompson MP associated with Xu Randall (NOAA-EMC#443) * Remove old comments from GFS_typedefs.F90. * Update logic that sets Model%cnvcld = .false. * Wrapper for ccpp-physics NOAA-EMC#806, NOAA-EMC#807, NOAA-EMC#813 (NOAA-EMC#447) * CCPP physics updates from PR NOAA-EMC#806(only diagnostic changes for RRTMGP - small diag-only RT impact for tests involving RRTMGP),NOAA-EMC#807 (only aborting model if sfc emis file not present when needed) ,NOAA-EMC#813(only SCM-specific physics changes) * Wrapper for ccpp-physics NOAA-EMC#808 and 816 (roughness length over ice and NoahMP tsurf bugfix) (NOAA-EMC#452) This PR contains the ccpp physics PR NOAA-EMC#808 and NOAA-EMC#816. 808 addresses an error in the momentum roughness length over tiles with ice. 816 fixes an occasional segfault bug related to the tsurf variable in NoahMP and updates to "improve snow simulation in NoahMP for P8". * Use 'model set run clock' routine in FV3 NUOPC cap. (NOAA-EMC#450) * Add 'SetRunClock' specialization routine to FV3 NUOPC cap, which sets fv3 model clock. FV3 cap does not keep local copy of clock (clock_fv3) as saved module variable anymore. * Minor code cleanup. * Clean up iovr=4 (exponential cloud overlapping method) in RRTMG (NOAA-EMC#445) Clean up the exponential cloud overlapping method in RRTMG, which reflects the practice of the pre-2018 operational HWRF model. * Bug fix for dimensions of eta level variables and WAM variables in Fortran code and CCPP metadata (NOAA-EMC#431) * Add additional diagnostic arrays for radiation-microphysics development * Bug fixes for WAM model runs with levr < levs * Update inline post with latest UPP release upp_v10.0.11 (NOAA-EMC#449) * Update UPP revision * Add foundation temperaure in GFS read interface for inline post. * Wrapper for ccpp-physics NOAA-EMC#812 (NOAA-EMC#453) * update submodule pointer for regression testing of ccpp-physics#812 * MYNN sfclay (RAP suite) restart reproducibility, P8 suite definition files (NOAA-EMC#455) * Fix uninitialized variable zmtnblck in ccpp/data/GFS_typedefs.F90 * Fix typo in CCPP standard name for ncnvwind in ccpp/data/GFS_typedefs.meta * Add ten 2d variables required for MYNNSFC restart reproducibility to ccpp/driver/GFS_restart.F90 * create initial p8 suites, P8 initial SDFs as copies of FV3_GFS_v16_coupled_nsstNoahmpUGWPv1 and FV3_GFS_v16_nsstNoahmpUGWPv1 Co-authored-by: Denise Worthen <[email protected]> * Fixes on initializing snow depth over ice and changes z0ice (NOAA-EMC#461) * modify FV3GFS_io.F90 by fixing errors associated with initializing snow depth over ice in the case where both land and water coexist (i.e. fractional grid case) * z0ice is changed to 1.0 cm from 1.1cm in atmos_model.F90 * Radar-derived microphysics temperature tendencies similar to operational HRRR (NOAA-EMC#457) - implements a feature of the operational HRRR, radar-derived microphysics temperature tendencies applied in the first N minutes of the forecast to improve clouds in the first few hours. * HRRR-like radar-derived temperature tendencies * Give a warning when convection is enabled with radar tten * Fix uninitialized variable zmtnblck in ccpp/data/GFS_typedefs.F90 * Add ten 2d variables required for MYNNSFC restart reproducibility to ccpp/driver/GFS_restart.F90 * fixing snod bug in atmos_model.F90 (NOAA-EMC#465) * Thompson MP cloud tuning (NOAA-EMC#463) * Improve cloud fraction when using Thompson MP. See NCAR/ccpp-physics#809 for more details. * Feature/hwrf legacy (NOAA-EMC#459) * Added a new suite definition file: suite_FV3_HAFS_v0_thompson_tedmf_gfdlsf.xml. This SDF is a legacy hwrf SDF but only the GFDL surface layer scheme and the Thompson scheme are kept. * CCPP: Update consistency checks and effective radii calculation for Thompson MP (NOAA-EMC#462) * This PR updates the submodule pointer for ccpp-physics for the changes described in NCAR/ccpp-physics#786 (Update consistency checks and effective radii calculation for Thompson MP) * Unified write_netcdf, add single file 'cubed_sphere_grid' output (NOAA-EMC#466) * Unify write_netcdf and write_netcdf_parallel modules. * Add support for writing 'cubed_sphere_grid' history files in a single netcdf file * Code refactoring and cleanup. * Change standard name and unit of CCPP error flag variable in CCPP framework and physics (NOAA-EMC#467) *Change standard name and unit of CCPP error flag variable in CCPP framework and physics. * Add code to enable ESMF managed threading (NOAA-EMC#469) * Implement ESMF-managed-threading for fcstComp and wrtComp's. * Revisions to repair iovr=5 cloud overlap option (NOAA-EMC#471) *This PR addresses part 2 of CCPP issue NOAA-EMC#748 to activate the exponential-random cloud overlap method (iovr=5) in RRTMG. * Add 2d decomposition on the write grid comp (NOAA-EMC#470) * update write grid comp to have 2D decomposition on output grid. * combine PR#468: Bug fix in FV3GFS_io.F90 for allocation of temp2d Co-authored-by: Ted Mansell <[email protected]> * 4DIAU bug when iau_filter_increments=T (NOAA-EMC#458) * Add lsm_cold_start variable for RUC LSM SCM support and gwdps bugfix (combined) (NOAA-EMC#475) * add lsm_cold_start variable in GFS_typedefs.F90/meta and update ccpp/physics for testing * includes @SMoorthi-emc 's bugfix for gwdps.f. * add lon info in the write group (NOAA-EMC#476) * Multiple output grids (NOAA-EMC#480) Update fv3 cap and write grid component to enable outputting multiple domains. This is done be creating an array of fcstGrids, and array of rout handles where each element of these arrays correspond to one atm domain. In the write grid component updates were made to allow grid spec parameters for each output grid to be specified separately. Co-authored-by: Gerhard Theurich <[email protected]> * GPU-enabled version of Grell-Freitas convection in ccpp-physics (NOAA-EMC#479) * Enable Thompson MP when coupling with UFS-Aerosols (NOAA-EMC#484) * Add support for Stochastically Perturbed Parameterizations (SPP) in FV3 and add the FV3_RRFS_v1alpha SDF. (NOAA-EMC#454) Adds the necessary code in fv3atm to allow for Stochastically Perturbed Parameterizations (SPP) in a set of RAP/HRRR-based physics parameterizations. Specific to the fv3atm repository, code in this PR defines the necessary variables associated with various SPP-related fields (e.g., logical to activate SPP, parameterization-specific SPP variables, etc.) that are then passed to ccpp-physics. * lateral boundary fix for regional runs (NOAA-EMC#482) * Feature: NSSL Microphysics support (NOAA-EMC#472) Supports CCPP with new NSSL microphysics scheme, which has separate hydrometeor categories for graupel and hail (Mansell et al. 2010, JAS). This PR allows fv3atm to compile correctly with CCPP+NSSL, but a further update to atmos_cubed_sphere is needed to run correctly. The NSSL scheme is used in NSSL's daily FV3 convection-allowing forecasts, and the scheme itself is aimed at this scale (dx <= 4km). Testing is underway also with a preliminary Warn-on-Forecast FV3 ensemble. * Add p8b SDF (NOAA-EMC#491) * add p8 suite files * fix 2phases intermediate restart Co-authored-by: Raffaele Montuoro <[email protected]> Co-authored-by: Jun Wang <[email protected]> * Split CCPP finalize into physics_finalize and (framework) finalize; minor CCPP cleanup and documentation updates (NOAA-EMC#487) * Minor cleanup and documentation updates for CCPP; split CCPP finalize into physics_finalize and (framework) finalize * Add 'valid time' variable using ISO string format (NOAA-EMC#492) Add 'valid time' variable using ISO string format to netcdf history files. Use double precision variable to set value of 'time' attribute in wrt comp import state Update ccpp/physics (setting surface-related interstitial variables for SCM prescribed-surface-flux mode) Update inline_post_stub.F90 subroutine interfaces to match inline_post.F90 Co-authored-by: Ted Mansell <[email protected]> Co-authored-by: Grant Firl <[email protected]> * Fix Lambert Conformal Conic mapping in the write component on the southern hemisphere (NOAA-EMC#497) Subroutine `lambert` in the write component has been fixed to do the mapping on the southern hemisphere correctly. * Rectify total number of Thompson MP species for PBL mixing (NOAA-EMC#509) * update upp revision (NOAA-EMC#505) * move some parameters in mynn surface layer to namelist options * land surface upgrades for p8c (NOAA-EMC#499) * Added capability for cdmbgwd(1) to scale GSL blocking drag (NOAA-EMC#502) * release/p8c: it is related to ccpp-physics PBL and cumulus updates plus a bug fix to the Thompson scheme PR NOAA-EMC#882 (NOAA-EMC#503) * change ccpp-physics branch to feature/p8c_pbl_cp branch * change ccpp/physics in feature/p8c_pbl_cp branch * revised GFS_typedefs.F90 for the paramters in the saSAS scheme * sync upp * Revert "sync upp" This reverts commit 429d046. * sync upp to 0185bb9 * Merge remote-tracking branch remote/main for ccpp-physics and update .gitmodules * Bring AQM model into UFS (NOAA-EMC#511) * Reset to zero coupling arrays for accumulated snow, large scale rain, and convective rain at the end of each coupling step if coupling with chemistry model. * Properly set kind type of literal constants defining zero and one. * Initialize to zero canopy resistance output variablein noah/osu land-surface model subdriver. * Re-implement radiation diagnostic output involving spectral band layer cloud optical depths (0.55 and 10 mu channels) to prevent floating invalid errors due to uninitialized optical depth arrays. * Temporarily disable filling export fields during the NUOPC Realize phase since it breaks coupling with aerosol component. * Increase maximum number of input aerosol scavenging factors to accommodate AQM/CMAQ 5.2.1 chemical tracers. * Remove inst_pres_height_surface from chemistryFieldNames as its imported already elsewhere Co-authored-by: Raffaele Montuoro <[email protected]> * RRTMGP for prototype 8 (NOAA-EMC#498) * Add explict treatment of convective cloud to RRTMGP. * Some cleanup and bug fixes from previous commit. working now with Thompson MP plus radiatively active convective cloud. * Updated physics. New interstitials. * Added explicit MYNN-EDMF cloud coupling to RRTMGP. * Added switches for sgs clouds in GP. * Replaced cld_mynn_ naming convention with cld_pbl_ * Fixed inconsistency between G/GP in Thompson MP. * Some more cleanup of cloud-fraction... * Pulled in Qingfu's changes to ccpp-physics * Synced physics with main * Updated physics. * Revert change from previous commits (sampling of different cloud types). New SDFs for p8c * Changed arguments to implied shape. * Renamed scheme file in SDF. Now common to both RRTMG and RRTMGP SDFs * Syntax error in ccpp-physics * Revert changes to names * Renamed p8_rrtmgp SDFs * Added bounding to temperature at layer-interface used by RRTMGP. * Reorder loop * Combined gp sw and lw aerosol routines. Modest speedup (~4%) * HAFS related moving-nesting, nest coupling, and movable output grid capabilities (NOAA-EMC#501) * Add the storm-following or specified moving-nesting capability for both the regional and global configuration. * Expand the UFS/HAFS FV3ATM-HYCOM ocean coupling to support the static and moving nesting configuration. * Expand the write grid component to support outputting the moving nest domain properly. * Five HAFS related moving-nesting regression tests are added to test these newly added features. The regional_hafs RT was removed. Co-authored-by: Dom Heinzeller <[email protected]> Co-authored-by: Dom Heinzeller <[email protected]> Co-authored-by: Grant Firl <[email protected]> Co-authored-by: Daniel Rosen <[email protected]> Co-authored-by: man.zhang <[email protected]> Co-authored-by: William Ramstrom <[email protected]> Co-authored-by: Ufuk Turuncoglu <[email protected]> Co-authored-by: Dusan Jovic <[email protected]> Co-authored-by: A-Kyle <[email protected]> Co-authored-by: Gerhard Theurich <[email protected]> Co-authored-by: Dusan Jovic <[email protected]> * Split GFS_typedefs.F90, rename CCPP_interstitial, import ccpp_t from ccpp_types (NOAA-EMC#508) * Split GFS_typedefs.F90: move GFS_interstitial_type to CCPP_typedefs.F90; Rename CCPP_interstitial to GFDL_interstitial; Import ccpp_t from ccpp_types instead of ccpp_api * Add bugfix in ccpp/data/GFS_typedefs.meta: mark input_nml_file as active only if the number of lines in the file is greater than zero * Fix uninitialized min_rand variable in Thompson MP when using SPP (NOAA-EMC#516) * Pass SPP namelist entries outside of stochastic physics routines. * Fixes to SPP metadata * Add active attribute to spp_prt_list * Add active metadata flag to spp_stddev_cutoff * Add active metadata flag for spp_var_list * A bug fix for wet scavenging of aerosols and a minor modification for moisture property calculation (NOAA-EMC#520) * Update ccpp_prebuild_config.py for one-to-one CCPP physics schemes/files (NOAA-EMC#519) * point to gsl/merge-develop branch * Point to gsl/merge-develop-to-community branch for ccpp/physics * Corrections to merge + joe updates * Point .gitmodules to Sam's fork * Correct issues found by reviewers * Rename mynnpbl to mynnedmf * Remove some empty _init and _finalize routines and update a comment in sgscloud_radpre * Feature/lndp noahmp2 : add land perturbation scheme for Noah-MP fractional veg (NOAA-EMC#513) Updates to allow land perturbation scheme to be applied for Noah-MP. Main code changes: -added lsm_noahmp model option to lndp_type==2 land perturbation scheme (fv3-atm, stochastic_physics) -updated comments -cleaned up the namelists to make the different options clearer. Removed misleading lndp_each_step variable from gfs_physics_nml, and replaced it with "lndp_model_type" in the nam_sfcperts namelist for the different forecast types (cycling DA, short forecasts, perturbing only initial conditions) (fv3-atm, stochastic_physics, ufs-weather-model) NOTE: see note below, re: specification of smc perturbation for RAP/HRRR/etc (lndp_model_type==2) -revised code in stochastic_physics_wrapper to only allocate arrays that will be used when passed into lndp_apply_perts (fv3-atm) -deleted unused albedo arrays in stochastic_physics_wrapper and lndp_apply_perts (fv3-atm, stochastic_physics) -fixed bug causing precision errors when calculating the soil moisture ice content (often ~0.0; stochastic_physics) -fixed bug in which lndp_apply_perts wasn't called for nscyc = 0. (fv3-atm) -increased max_nvar_lndp at Jeff Ator's request (fv3-atm) -added a new test for the Noah-MP and lndp==2 combination (ufs-weather-model) * Add \file to smoke files * Add hailcast code in atmos_cubed_sphere (NOAA-EMC#528) * Combine PROD and REPRO build options into 'Release' build type (NOAA-EMC#524) Combined PROD and REPRO build modes into 'Release' build type. Now only 'Debug' and 'Release' build type are supported. Both build types must produce bit-for-bit reproducible outputs using different number of threads, mpi tasks, different domain decomposition, have reproducible restarts etc. * Unify inline post (NOAA-EMC#521) * Unify global and regional inline posts and add bug fix for dx/dy computation. * Update upp revision to dc8bc68 * Set up different configurations of read max/min 2m T for global and regional FV3. * adding bug fix from jili dong and removing U* averaging * adding bug fix from jili dong and removing U* averaging * Remove some commented-out code from cu_gf_driver in ccpp-physics. * Turn rrtmg smoke band 10 into a model namelist variable * Switch ccpp-physics smoke arguments to implied shape * Remove some stops and gotos from ccpp-physics smoke * Remove some hard-coded constants and rename some meta entries * Change RRTMGP to RRTMG in two P8 SDFs (NOAA-EMC#527) * Change RRTMGP to RRTMG in suite_FV3_GFS_v17_p8 and suite_FV3_GFS_v17_coupled_p8 * deleted or modified some SDFs related to RRTMGP or Thompson schemes * added a new SDF file for P8 with rrtmgp * Rename some standard_names, change a unit, and remove a "use physcons" * NSSL ccpp-physics bugfixes and new ccpp-framework debugging feature (NOAA-EMC#529) * Set num3d correctly when using radar_tten * Only add cnv_3d_ud_mf to the restart files when needed * Pass some chemistry varibles to mynn_bl_driver correctly * Correct argument passing within mynn edmf * point to NCAR main ccpp/physics * merge gsl institutional fork (NOAA-EMC#526) Merge in GSL institutional fork * point to sam's repo * ccpp/physics: Change to GSL CODEOWNERS * Returned the comments on soil resistance back. * point to gsl/develop for ccpp/physics Co-authored-by: Dusan Jovic <[email protected]> Co-authored-by: Dom Heinzeller <[email protected]> Co-authored-by: Grant Firl <[email protected]> Co-authored-by: mzhangw <[email protected]> Co-authored-by: WenMeng-NOAA <[email protected]> Co-authored-by: Denise Worthen <[email protected]> Co-authored-by: SMoorthi-emc <[email protected]> Co-authored-by: ChunxiZhang-NOAA <[email protected]> Co-authored-by: Jun Wang <[email protected]> Co-authored-by: Ted Mansell <[email protected]> Co-authored-by: Jeff Whitaker <[email protected]> Co-authored-by: Gerhard Theurich <[email protected]> Co-authored-by: DomHeinzeller <[email protected]> Co-authored-by: Raffaele Montuoro <[email protected]> Co-authored-by: JeffBeck-NOAA <[email protected]> Co-authored-by: MatthewPyle-NOAA <[email protected]> Co-authored-by: Ted Mansell <[email protected]> Co-authored-by: Jessica Meixner <[email protected]> Co-authored-by: Jun Wang <[email protected]> Co-authored-by: joeolson42 <[email protected]> Co-authored-by: HelinWei-NOAA <[email protected]> Co-authored-by: mdtoyNOAA <[email protected]> Co-authored-by: Brian Curtis <[email protected]> Co-authored-by: dustinswales <[email protected]> Co-authored-by: Bin Liu <[email protected]> Co-authored-by: Dom Heinzeller <[email protected]> Co-authored-by: Grant Firl <[email protected]> Co-authored-by: Daniel Rosen <[email protected]> Co-authored-by: man.zhang <[email protected]> Co-authored-by: William Ramstrom <[email protected]> Co-authored-by: Ufuk Turuncoglu <[email protected]> Co-authored-by: Dusan Jovic <[email protected]> Co-authored-by: A-Kyle <[email protected]> Co-authored-by: ClaraDraper-NOAA <[email protected]> Co-authored-by: BinLi-NOAA <[email protected]>
* Merge NOAA-EMC develop into gsl/develop (#126) * Feature/ccpp codeowners (NOAA-EMC#442) * Per-file CODEOWNERS in ccpp/physics to set up automatic review requests * Code cleanup. Remove used code/variables. Fix minor inconsistencies. (NOAA-EMC#440) * Remove ESMF Alarm and TimeInterval variables from module_fv3_config. * Variables nfhmax, nfhmax_hf are unused outside InitializeAdvertise. Declared them as local variables. * There is no need to keep duplicates of all time related variables in atm_int_state when we can easily access them from atm_int_state%Atm. * Remove redundant call to fms_init * Add few missing ESMF_LogFoundError checks in module_fcst_grid_comp.F90 * Delete time_utils.F90. Unused. * print only actual errors to stderr, everything else to stdout * Move realizeConnectedCplFields to module_cplfields from module_cap_cpl * Declare Atmos as module variable, and remove atmos_internalstate_wrapper * Move code from clock_cplIntval to InitializeAdvertise * Removed INTERNAL_FILE_NML from atmos_model.F90 * CCPP cloud cover change for Thompson MP associated with Xu Randall (NOAA-EMC#443) * Remove old comments from GFS_typedefs.F90. * Update logic that sets Model%cnvcld = .false. * Wrapper for ccpp-physics NOAA-EMC#806, NOAA-EMC#807, NOAA-EMC#813 (NOAA-EMC#447) * CCPP physics updates from PR NOAA-EMC#806(only diagnostic changes for RRTMGP - small diag-only RT impact for tests involving RRTMGP),NOAA-EMC#807 (only aborting model if sfc emis file not present when needed) ,NOAA-EMC#813(only SCM-specific physics changes) * Wrapper for ccpp-physics NOAA-EMC#808 and 816 (roughness length over ice and NoahMP tsurf bugfix) (NOAA-EMC#452) This PR contains the ccpp physics PR NOAA-EMC#808 and NOAA-EMC#816. 808 addresses an error in the momentum roughness length over tiles with ice. 816 fixes an occasional segfault bug related to the tsurf variable in NoahMP and updates to "improve snow simulation in NoahMP for P8". * Use 'model set run clock' routine in FV3 NUOPC cap. (NOAA-EMC#450) * Add 'SetRunClock' specialization routine to FV3 NUOPC cap, which sets fv3 model clock. FV3 cap does not keep local copy of clock (clock_fv3) as saved module variable anymore. * Minor code cleanup. * Clean up iovr=4 (exponential cloud overlapping method) in RRTMG (NOAA-EMC#445) Clean up the exponential cloud overlapping method in RRTMG, which reflects the practice of the pre-2018 operational HWRF model. * Bug fix for dimensions of eta level variables and WAM variables in Fortran code and CCPP metadata (NOAA-EMC#431) * Add additional diagnostic arrays for radiation-microphysics development * Bug fixes for WAM model runs with levr < levs * Update inline post with latest UPP release upp_v10.0.11 (NOAA-EMC#449) * Update UPP revision * Add foundation temperaure in GFS read interface for inline post. * Wrapper for ccpp-physics NOAA-EMC#812 (NOAA-EMC#453) * update submodule pointer for regression testing of ccpp-physics#812 * MYNN sfclay (RAP suite) restart reproducibility, P8 suite definition files (NOAA-EMC#455) * Fix uninitialized variable zmtnblck in ccpp/data/GFS_typedefs.F90 * Fix typo in CCPP standard name for ncnvwind in ccpp/data/GFS_typedefs.meta * Add ten 2d variables required for MYNNSFC restart reproducibility to ccpp/driver/GFS_restart.F90 * create initial p8 suites, P8 initial SDFs as copies of FV3_GFS_v16_coupled_nsstNoahmpUGWPv1 and FV3_GFS_v16_nsstNoahmpUGWPv1 Co-authored-by: Denise Worthen <[email protected]> * Fixes on initializing snow depth over ice and changes z0ice (NOAA-EMC#461) * modify FV3GFS_io.F90 by fixing errors associated with initializing snow depth over ice in the case where both land and water coexist (i.e. fractional grid case) * z0ice is changed to 1.0 cm from 1.1cm in atmos_model.F90 * Radar-derived microphysics temperature tendencies similar to operational HRRR (NOAA-EMC#457) - implements a feature of the operational HRRR, radar-derived microphysics temperature tendencies applied in the first N minutes of the forecast to improve clouds in the first few hours. * HRRR-like radar-derived temperature tendencies * Give a warning when convection is enabled with radar tten * Fix uninitialized variable zmtnblck in ccpp/data/GFS_typedefs.F90 * Add ten 2d variables required for MYNNSFC restart reproducibility to ccpp/driver/GFS_restart.F90 * fixing snod bug in atmos_model.F90 (NOAA-EMC#465) * Thompson MP cloud tuning (NOAA-EMC#463) * Improve cloud fraction when using Thompson MP. See NCAR/ccpp-physics#809 for more details. * Feature/hwrf legacy (NOAA-EMC#459) * Added a new suite definition file: suite_FV3_HAFS_v0_thompson_tedmf_gfdlsf.xml. This SDF is a legacy hwrf SDF but only the GFDL surface layer scheme and the Thompson scheme are kept. * CCPP: Update consistency checks and effective radii calculation for Thompson MP (NOAA-EMC#462) * This PR updates the submodule pointer for ccpp-physics for the changes described in NCAR/ccpp-physics#786 (Update consistency checks and effective radii calculation for Thompson MP) * Unified write_netcdf, add single file 'cubed_sphere_grid' output (NOAA-EMC#466) * Unify write_netcdf and write_netcdf_parallel modules. * Add support for writing 'cubed_sphere_grid' history files in a single netcdf file * Code refactoring and cleanup. * Change standard name and unit of CCPP error flag variable in CCPP framework and physics (NOAA-EMC#467) *Change standard name and unit of CCPP error flag variable in CCPP framework and physics. * Add code to enable ESMF managed threading (NOAA-EMC#469) * Implement ESMF-managed-threading for fcstComp and wrtComp's. * Revisions to repair iovr=5 cloud overlap option (NOAA-EMC#471) *This PR addresses part 2 of CCPP issue NOAA-EMC#748 to activate the exponential-random cloud overlap method (iovr=5) in RRTMG. * Add 2d decomposition on the write grid comp (NOAA-EMC#470) * update write grid comp to have 2D decomposition on output grid. * combine PR#468: Bug fix in FV3GFS_io.F90 for allocation of temp2d Co-authored-by: Ted Mansell <[email protected]> * 4DIAU bug when iau_filter_increments=T (NOAA-EMC#458) * Add lsm_cold_start variable for RUC LSM SCM support and gwdps bugfix (combined) (NOAA-EMC#475) * add lsm_cold_start variable in GFS_typedefs.F90/meta and update ccpp/physics for testing * includes @SMoorthi-emc 's bugfix for gwdps.f. * add lon info in the write group (NOAA-EMC#476) * Multiple output grids (NOAA-EMC#480) Update fv3 cap and write grid component to enable outputting multiple domains. This is done be creating an array of fcstGrids, and array of rout handles where each element of these arrays correspond to one atm domain. In the write grid component updates were made to allow grid spec parameters for each output grid to be specified separately. Co-authored-by: Gerhard Theurich <[email protected]> * GPU-enabled version of Grell-Freitas convection in ccpp-physics (NOAA-EMC#479) * Enable Thompson MP when coupling with UFS-Aerosols (NOAA-EMC#484) * Add support for Stochastically Perturbed Parameterizations (SPP) in FV3 and add the FV3_RRFS_v1alpha SDF. (NOAA-EMC#454) Adds the necessary code in fv3atm to allow for Stochastically Perturbed Parameterizations (SPP) in a set of RAP/HRRR-based physics parameterizations. Specific to the fv3atm repository, code in this PR defines the necessary variables associated with various SPP-related fields (e.g., logical to activate SPP, parameterization-specific SPP variables, etc.) that are then passed to ccpp-physics. * lateral boundary fix for regional runs (NOAA-EMC#482) * Updating pointer to ccpp/physics. * Point to Christina's branches. * Point to NOAA-GSL gsl/develop for ccpp/physics Co-authored-by: Samuel Trahan (NOAA contractor) <[email protected]> Co-authored-by: Dusan Jovic <[email protected]> Co-authored-by: Dom Heinzeller <[email protected]> Co-authored-by: Grant Firl <[email protected]> Co-authored-by: mzhangw <[email protected]> Co-authored-by: WenMeng-NOAA <[email protected]> Co-authored-by: Denise Worthen <[email protected]> Co-authored-by: SMoorthi-emc <[email protected]> Co-authored-by: ChunxiZhang-NOAA <[email protected]> Co-authored-by: Jun Wang <[email protected]> Co-authored-by: Ted Mansell <[email protected]> Co-authored-by: Jeff Whitaker <[email protected]> Co-authored-by: Gerhard Theurich <[email protected]> Co-authored-by: DomHeinzeller <[email protected]> Co-authored-by: Raffaele Montuoro <[email protected]> Co-authored-by: JeffBeck-NOAA <[email protected]> Co-authored-by: MatthewPyle-NOAA <[email protected]> Co-authored-by: samuel.trahan <[email protected]> * Remove GF Consistency Check & Add SDFs - V2 (#127) * - Removes consistency check in GF, allows GF to run with different or no shallow scheme - Add additional RAP based SDF * Point to gsl/develop for ccpp/physics Co-authored-by: Samuel Trahan <[email protected]> * Update to top of gsl/physics to get codeowners (#130) * updates related to MYNN-EDMF (#135) * adding new variable (Sm3D) stability function for momentum * update submodule pointer for ccpp-physics * Point to gsl/develop for ccpp/physics Co-authored-by: samuel.trahan <[email protected]> * GWD, LSM and MYNN physics updates from RRFS_dev branch (#136) * GWD, LSM and MYNN physics updates from RRFS_dev branch * Point to gsl/develop for ccpp/physics Co-authored-by: samuel.trahan <[email protected]> * Point to top of gsl/develop for ccpp-physics * gsl/develop RRFS-Smoke (#141) * "add for smoke" * "update to pass GNU compiler" * "following Joe's comments to add nchem,ndvel as input to MYNN" * "update fv3atm to point to gsl/develop-smoke" * "to point to physics branch of gsl/develop-smoke" * Point to gsl/develop-smoke for ccpp-physics * "point ot gsl/develop-smoke branch" * "update GFS_typedefs.meta with rrfs_smoke active flag" * "update the 3rd dimension readin of GBBEPx for smoke" * Remove an extra read that went out of bounds * Point to NOAA-GSL gsl/develop for ccpp-physics Co-authored-by: samuel.trahan <[email protected]> * Correction to prior commit: point ccpp-physics to NOAA-GSL gsl/develop * Merge May 16 EMC develop to gsl/develop (#144) * Feature/ccpp codeowners (NOAA-EMC#442) * Per-file CODEOWNERS in ccpp/physics to set up automatic review requests * Code cleanup. Remove used code/variables. Fix minor inconsistencies. (NOAA-EMC#440) * Remove ESMF Alarm and TimeInterval variables from module_fv3_config. * Variables nfhmax, nfhmax_hf are unused outside InitializeAdvertise. Declared them as local variables. * There is no need to keep duplicates of all time related variables in atm_int_state when we can easily access them from atm_int_state%Atm. * Remove redundant call to fms_init * Add few missing ESMF_LogFoundError checks in module_fcst_grid_comp.F90 * Delete time_utils.F90. Unused. * print only actual errors to stderr, everything else to stdout * Move realizeConnectedCplFields to module_cplfields from module_cap_cpl * Declare Atmos as module variable, and remove atmos_internalstate_wrapper * Move code from clock_cplIntval to InitializeAdvertise * Removed INTERNAL_FILE_NML from atmos_model.F90 * CCPP cloud cover change for Thompson MP associated with Xu Randall (NOAA-EMC#443) * Remove old comments from GFS_typedefs.F90. * Update logic that sets Model%cnvcld = .false. * Wrapper for ccpp-physics NOAA-EMC#806, NOAA-EMC#807, NOAA-EMC#813 (NOAA-EMC#447) * CCPP physics updates from PR NOAA-EMC#806(only diagnostic changes for RRTMGP - small diag-only RT impact for tests involving RRTMGP),NOAA-EMC#807 (only aborting model if sfc emis file not present when needed) ,NOAA-EMC#813(only SCM-specific physics changes) * Wrapper for ccpp-physics NOAA-EMC#808 and 816 (roughness length over ice and NoahMP tsurf bugfix) (NOAA-EMC#452) This PR contains the ccpp physics PR NOAA-EMC#808 and NOAA-EMC#816. 808 addresses an error in the momentum roughness length over tiles with ice. 816 fixes an occasional segfault bug related to the tsurf variable in NoahMP and updates to "improve snow simulation in NoahMP for P8". * Use 'model set run clock' routine in FV3 NUOPC cap. (NOAA-EMC#450) * Add 'SetRunClock' specialization routine to FV3 NUOPC cap, which sets fv3 model clock. FV3 cap does not keep local copy of clock (clock_fv3) as saved module variable anymore. * Minor code cleanup. * Clean up iovr=4 (exponential cloud overlapping method) in RRTMG (NOAA-EMC#445) Clean up the exponential cloud overlapping method in RRTMG, which reflects the practice of the pre-2018 operational HWRF model. * Bug fix for dimensions of eta level variables and WAM variables in Fortran code and CCPP metadata (NOAA-EMC#431) * Add additional diagnostic arrays for radiation-microphysics development * Bug fixes for WAM model runs with levr < levs * Update inline post with latest UPP release upp_v10.0.11 (NOAA-EMC#449) * Update UPP revision * Add foundation temperaure in GFS read interface for inline post. * Wrapper for ccpp-physics NOAA-EMC#812 (NOAA-EMC#453) * update submodule pointer for regression testing of ccpp-physics#812 * MYNN sfclay (RAP suite) restart reproducibility, P8 suite definition files (NOAA-EMC#455) * Fix uninitialized variable zmtnblck in ccpp/data/GFS_typedefs.F90 * Fix typo in CCPP standard name for ncnvwind in ccpp/data/GFS_typedefs.meta * Add ten 2d variables required for MYNNSFC restart reproducibility to ccpp/driver/GFS_restart.F90 * create initial p8 suites, P8 initial SDFs as copies of FV3_GFS_v16_coupled_nsstNoahmpUGWPv1 and FV3_GFS_v16_nsstNoahmpUGWPv1 Co-authored-by: Denise Worthen <[email protected]> * Fixes on initializing snow depth over ice and changes z0ice (NOAA-EMC#461) * modify FV3GFS_io.F90 by fixing errors associated with initializing snow depth over ice in the case where both land and water coexist (i.e. fractional grid case) * z0ice is changed to 1.0 cm from 1.1cm in atmos_model.F90 * Radar-derived microphysics temperature tendencies similar to operational HRRR (NOAA-EMC#457) - implements a feature of the operational HRRR, radar-derived microphysics temperature tendencies applied in the first N minutes of the forecast to improve clouds in the first few hours. * HRRR-like radar-derived temperature tendencies * Give a warning when convection is enabled with radar tten * Fix uninitialized variable zmtnblck in ccpp/data/GFS_typedefs.F90 * Add ten 2d variables required for MYNNSFC restart reproducibility to ccpp/driver/GFS_restart.F90 * fixing snod bug in atmos_model.F90 (NOAA-EMC#465) * Thompson MP cloud tuning (NOAA-EMC#463) * Improve cloud fraction when using Thompson MP. See NCAR/ccpp-physics#809 for more details. * Feature/hwrf legacy (NOAA-EMC#459) * Added a new suite definition file: suite_FV3_HAFS_v0_thompson_tedmf_gfdlsf.xml. This SDF is a legacy hwrf SDF but only the GFDL surface layer scheme and the Thompson scheme are kept. * CCPP: Update consistency checks and effective radii calculation for Thompson MP (NOAA-EMC#462) * This PR updates the submodule pointer for ccpp-physics for the changes described in NCAR/ccpp-physics#786 (Update consistency checks and effective radii calculation for Thompson MP) * Unified write_netcdf, add single file 'cubed_sphere_grid' output (NOAA-EMC#466) * Unify write_netcdf and write_netcdf_parallel modules. * Add support for writing 'cubed_sphere_grid' history files in a single netcdf file * Code refactoring and cleanup. * Change standard name and unit of CCPP error flag variable in CCPP framework and physics (NOAA-EMC#467) *Change standard name and unit of CCPP error flag variable in CCPP framework and physics. * Add code to enable ESMF managed threading (NOAA-EMC#469) * Implement ESMF-managed-threading for fcstComp and wrtComp's. * Revisions to repair iovr=5 cloud overlap option (NOAA-EMC#471) *This PR addresses part 2 of CCPP issue NOAA-EMC#748 to activate the exponential-random cloud overlap method (iovr=5) in RRTMG. * Add 2d decomposition on the write grid comp (NOAA-EMC#470) * update write grid comp to have 2D decomposition on output grid. * combine PR#468: Bug fix in FV3GFS_io.F90 for allocation of temp2d Co-authored-by: Ted Mansell <[email protected]> * 4DIAU bug when iau_filter_increments=T (NOAA-EMC#458) * Add lsm_cold_start variable for RUC LSM SCM support and gwdps bugfix (combined) (NOAA-EMC#475) * add lsm_cold_start variable in GFS_typedefs.F90/meta and update ccpp/physics for testing * includes @SMoorthi-emc 's bugfix for gwdps.f. * add lon info in the write group (NOAA-EMC#476) * Multiple output grids (NOAA-EMC#480) Update fv3 cap and write grid component to enable outputting multiple domains. This is done be creating an array of fcstGrids, and array of rout handles where each element of these arrays correspond to one atm domain. In the write grid component updates were made to allow grid spec parameters for each output grid to be specified separately. Co-authored-by: Gerhard Theurich <[email protected]> * GPU-enabled version of Grell-Freitas convection in ccpp-physics (NOAA-EMC#479) * Enable Thompson MP when coupling with UFS-Aerosols (NOAA-EMC#484) * Add support for Stochastically Perturbed Parameterizations (SPP) in FV3 and add the FV3_RRFS_v1alpha SDF. (NOAA-EMC#454) Adds the necessary code in fv3atm to allow for Stochastically Perturbed Parameterizations (SPP) in a set of RAP/HRRR-based physics parameterizations. Specific to the fv3atm repository, code in this PR defines the necessary variables associated with various SPP-related fields (e.g., logical to activate SPP, parameterization-specific SPP variables, etc.) that are then passed to ccpp-physics. * lateral boundary fix for regional runs (NOAA-EMC#482) * Feature: NSSL Microphysics support (NOAA-EMC#472) Supports CCPP with new NSSL microphysics scheme, which has separate hydrometeor categories for graupel and hail (Mansell et al. 2010, JAS). This PR allows fv3atm to compile correctly with CCPP+NSSL, but a further update to atmos_cubed_sphere is needed to run correctly. The NSSL scheme is used in NSSL's daily FV3 convection-allowing forecasts, and the scheme itself is aimed at this scale (dx <= 4km). Testing is underway also with a preliminary Warn-on-Forecast FV3 ensemble. * Add p8b SDF (NOAA-EMC#491) * add p8 suite files * fix 2phases intermediate restart Co-authored-by: Raffaele Montuoro <[email protected]> Co-authored-by: Jun Wang <[email protected]> * Split CCPP finalize into physics_finalize and (framework) finalize; minor CCPP cleanup and documentation updates (NOAA-EMC#487) * Minor cleanup and documentation updates for CCPP; split CCPP finalize into physics_finalize and (framework) finalize * Add 'valid time' variable using ISO string format (NOAA-EMC#492) Add 'valid time' variable using ISO string format to netcdf history files. Use double precision variable to set value of 'time' attribute in wrt comp import state Update ccpp/physics (setting surface-related interstitial variables for SCM prescribed-surface-flux mode) Update inline_post_stub.F90 subroutine interfaces to match inline_post.F90 Co-authored-by: Ted Mansell <[email protected]> Co-authored-by: Grant Firl <[email protected]> * Fix Lambert Conformal Conic mapping in the write component on the southern hemisphere (NOAA-EMC#497) Subroutine `lambert` in the write component has been fixed to do the mapping on the southern hemisphere correctly. * Rectify total number of Thompson MP species for PBL mixing (NOAA-EMC#509) * update upp revision (NOAA-EMC#505) * move some parameters in mynn surface layer to namelist options * land surface upgrades for p8c (NOAA-EMC#499) * Added capability for cdmbgwd(1) to scale GSL blocking drag (NOAA-EMC#502) * release/p8c: it is related to ccpp-physics PBL and cumulus updates plus a bug fix to the Thompson scheme PR NOAA-EMC#882 (NOAA-EMC#503) * change ccpp-physics branch to feature/p8c_pbl_cp branch * change ccpp/physics in feature/p8c_pbl_cp branch * revised GFS_typedefs.F90 for the paramters in the saSAS scheme * sync upp * Revert "sync upp" This reverts commit 429d046. * sync upp to 0185bb9 * Merge remote-tracking branch remote/main for ccpp-physics and update .gitmodules * Bring AQM model into UFS (NOAA-EMC#511) * Reset to zero coupling arrays for accumulated snow, large scale rain, and convective rain at the end of each coupling step if coupling with chemistry model. * Properly set kind type of literal constants defining zero and one. * Initialize to zero canopy resistance output variablein noah/osu land-surface model subdriver. * Re-implement radiation diagnostic output involving spectral band layer cloud optical depths (0.55 and 10 mu channels) to prevent floating invalid errors due to uninitialized optical depth arrays. * Temporarily disable filling export fields during the NUOPC Realize phase since it breaks coupling with aerosol component. * Increase maximum number of input aerosol scavenging factors to accommodate AQM/CMAQ 5.2.1 chemical tracers. * Remove inst_pres_height_surface from chemistryFieldNames as its imported already elsewhere Co-authored-by: Raffaele Montuoro <[email protected]> * RRTMGP for prototype 8 (NOAA-EMC#498) * Add explict treatment of convective cloud to RRTMGP. * Some cleanup and bug fixes from previous commit. working now with Thompson MP plus radiatively active convective cloud. * Updated physics. New interstitials. * Added explicit MYNN-EDMF cloud coupling to RRTMGP. * Added switches for sgs clouds in GP. * Replaced cld_mynn_ naming convention with cld_pbl_ * Fixed inconsistency between G/GP in Thompson MP. * Some more cleanup of cloud-fraction... * Pulled in Qingfu's changes to ccpp-physics * Synced physics with main * Updated physics. * Revert change from previous commits (sampling of different cloud types). New SDFs for p8c * Changed arguments to implied shape. * Renamed scheme file in SDF. Now common to both RRTMG and RRTMGP SDFs * Syntax error in ccpp-physics * Revert changes to names * Renamed p8_rrtmgp SDFs * Added bounding to temperature at layer-interface used by RRTMGP. * Reorder loop * Combined gp sw and lw aerosol routines. Modest speedup (~4%) * HAFS related moving-nesting, nest coupling, and movable output grid capabilities (NOAA-EMC#501) * Add the storm-following or specified moving-nesting capability for both the regional and global configuration. * Expand the UFS/HAFS FV3ATM-HYCOM ocean coupling to support the static and moving nesting configuration. * Expand the write grid component to support outputting the moving nest domain properly. * Five HAFS related moving-nesting regression tests are added to test these newly added features. The regional_hafs RT was removed. Co-authored-by: Dom Heinzeller <[email protected]> Co-authored-by: Dom Heinzeller <[email protected]> Co-authored-by: Grant Firl <[email protected]> Co-authored-by: Daniel Rosen <[email protected]> Co-authored-by: man.zhang <[email protected]> Co-authored-by: William Ramstrom <[email protected]> Co-authored-by: Ufuk Turuncoglu <[email protected]> Co-authored-by: Dusan Jovic <[email protected]> Co-authored-by: A-Kyle <[email protected]> Co-authored-by: Gerhard Theurich <[email protected]> Co-authored-by: Dusan Jovic <[email protected]> * Split GFS_typedefs.F90, rename CCPP_interstitial, import ccpp_t from ccpp_types (NOAA-EMC#508) * Split GFS_typedefs.F90: move GFS_interstitial_type to CCPP_typedefs.F90; Rename CCPP_interstitial to GFDL_interstitial; Import ccpp_t from ccpp_types instead of ccpp_api * Add bugfix in ccpp/data/GFS_typedefs.meta: mark input_nml_file as active only if the number of lines in the file is greater than zero * Fix uninitialized min_rand variable in Thompson MP when using SPP (NOAA-EMC#516) * Pass SPP namelist entries outside of stochastic physics routines. * Fixes to SPP metadata * Add active attribute to spp_prt_list * Add active metadata flag to spp_stddev_cutoff * Add active metadata flag for spp_var_list * A bug fix for wet scavenging of aerosols and a minor modification for moisture property calculation (NOAA-EMC#520) * Update ccpp_prebuild_config.py for one-to-one CCPP physics schemes/files (NOAA-EMC#519) * point to gsl/merge-develop branch * Point to gsl/merge-develop-to-community branch for ccpp/physics * Corrections to merge + joe updates * Point .gitmodules to Sam's fork * Correct issues found by reviewers * Rename mynnpbl to mynnedmf * Remove some empty _init and _finalize routines and update a comment in sgscloud_radpre * Feature/lndp noahmp2 : add land perturbation scheme for Noah-MP fractional veg (NOAA-EMC#513) Updates to allow land perturbation scheme to be applied for Noah-MP. Main code changes: -added lsm_noahmp model option to lndp_type==2 land perturbation scheme (fv3-atm, stochastic_physics) -updated comments -cleaned up the namelists to make the different options clearer. Removed misleading lndp_each_step variable from gfs_physics_nml, and replaced it with "lndp_model_type" in the nam_sfcperts namelist for the different forecast types (cycling DA, short forecasts, perturbing only initial conditions) (fv3-atm, stochastic_physics, ufs-weather-model) NOTE: see note below, re: specification of smc perturbation for RAP/HRRR/etc (lndp_model_type==2) -revised code in stochastic_physics_wrapper to only allocate arrays that will be used when passed into lndp_apply_perts (fv3-atm) -deleted unused albedo arrays in stochastic_physics_wrapper and lndp_apply_perts (fv3-atm, stochastic_physics) -fixed bug causing precision errors when calculating the soil moisture ice content (often ~0.0; stochastic_physics) -fixed bug in which lndp_apply_perts wasn't called for nscyc = 0. (fv3-atm) -increased max_nvar_lndp at Jeff Ator's request (fv3-atm) -added a new test for the Noah-MP and lndp==2 combination (ufs-weather-model) * Add \file to smoke files * Add hailcast code in atmos_cubed_sphere (NOAA-EMC#528) * Combine PROD and REPRO build options into 'Release' build type (NOAA-EMC#524) Combined PROD and REPRO build modes into 'Release' build type. Now only 'Debug' and 'Release' build type are supported. Both build types must produce bit-for-bit reproducible outputs using different number of threads, mpi tasks, different domain decomposition, have reproducible restarts etc. * Unify inline post (NOAA-EMC#521) * Unify global and regional inline posts and add bug fix for dx/dy computation. * Update upp revision to dc8bc68 * Set up different configurations of read max/min 2m T for global and regional FV3. * adding bug fix from jili dong and removing U* averaging * adding bug fix from jili dong and removing U* averaging * Remove some commented-out code from cu_gf_driver in ccpp-physics. * Turn rrtmg smoke band 10 into a model namelist variable * Switch ccpp-physics smoke arguments to implied shape * Remove some stops and gotos from ccpp-physics smoke * Remove some hard-coded constants and rename some meta entries * Change RRTMGP to RRTMG in two P8 SDFs (NOAA-EMC#527) * Change RRTMGP to RRTMG in suite_FV3_GFS_v17_p8 and suite_FV3_GFS_v17_coupled_p8 * deleted or modified some SDFs related to RRTMGP or Thompson schemes * added a new SDF file for P8 with rrtmgp * Rename some standard_names, change a unit, and remove a "use physcons" * NSSL ccpp-physics bugfixes and new ccpp-framework debugging feature (NOAA-EMC#529) * Set num3d correctly when using radar_tten * Only add cnv_3d_ud_mf to the restart files when needed * Pass some chemistry varibles to mynn_bl_driver correctly * Correct argument passing within mynn edmf * point to NCAR main ccpp/physics * merge gsl institutional fork (NOAA-EMC#526) Merge in GSL institutional fork * point to sam's repo * ccpp/physics: Change to GSL CODEOWNERS * Returned the comments on soil resistance back. * point to gsl/develop for ccpp/physics Co-authored-by: Dusan Jovic <[email protected]> Co-authored-by: Dom Heinzeller <[email protected]> Co-authored-by: Grant Firl <[email protected]> Co-authored-by: mzhangw <[email protected]> Co-authored-by: WenMeng-NOAA <[email protected]> Co-authored-by: Denise Worthen <[email protected]> Co-authored-by: SMoorthi-emc <[email protected]> Co-authored-by: ChunxiZhang-NOAA <[email protected]> Co-authored-by: Jun Wang <[email protected]> Co-authored-by: Ted Mansell <[email protected]> Co-authored-by: Jeff Whitaker <[email protected]> Co-authored-by: Gerhard Theurich <[email protected]> Co-authored-by: DomHeinzeller <[email protected]> Co-authored-by: Raffaele Montuoro <[email protected]> Co-authored-by: JeffBeck-NOAA <[email protected]> Co-authored-by: MatthewPyle-NOAA <[email protected]> Co-authored-by: Ted Mansell <[email protected]> Co-authored-by: Jessica Meixner <[email protected]> Co-authored-by: Jun Wang <[email protected]> Co-authored-by: joeolson42 <[email protected]> Co-authored-by: HelinWei-NOAA <[email protected]> Co-authored-by: mdtoyNOAA <[email protected]> Co-authored-by: Brian Curtis <[email protected]> Co-authored-by: dustinswales <[email protected]> Co-authored-by: Bin Liu <[email protected]> Co-authored-by: Dom Heinzeller <[email protected]> Co-authored-by: Grant Firl <[email protected]> Co-authored-by: Daniel Rosen <[email protected]> Co-authored-by: man.zhang <[email protected]> Co-authored-by: William Ramstrom <[email protected]> Co-authored-by: Ufuk Turuncoglu <[email protected]> Co-authored-by: Dusan Jovic <[email protected]> Co-authored-by: A-Kyle <[email protected]> Co-authored-by: ClaraDraper-NOAA <[email protected]> Co-authored-by: BinLi-NOAA <[email protected]> * followup to gsl/develop PR (#145) * Fix from Joe to remove code that was added back in by the big merge. * Change suite_FV3_GFS_v15_thompson_mynn to not use mynn surface layer scheme (from Tanya Smirnova) * move physics/smoke to physics/physics/smoke * Switch to rad_sw_pre in ccpp/suites/suite_FV3_GFS_v15_thompson_mynn.xml which replaced rrtmg_sw_pre.F90 a while ago * point to gsl/develop for ccpp/physics * update submodule pointer for ccpp-physics * emergency fix to mynn theta calculation * Merge dom's rap GF b4b fix * point to gsl/develop * merge gsl/develop to ccpp/physics * changes to get this to compile * Convince FV3GFS_io to use FV3GFS_io_generic * Remove accidental changes to ccpp/suites/suite_FV3_HAFS_v0_thompson_tedmf_gfdlsf.xml * FV3GFS NetCDF I/O works again * Remove unneeded code in ccpp/physics * fix typos * Bugfix: writing to pointer before allocating it * Default diag_flux is always false * point to RRFS_dev for ccpp/physics Co-authored-by: Christina Holt <[email protected]> Co-authored-by: Dusan Jovic <[email protected]> Co-authored-by: Dom Heinzeller <[email protected]> Co-authored-by: Grant Firl <[email protected]> Co-authored-by: mzhangw <[email protected]> Co-authored-by: WenMeng-NOAA <[email protected]> Co-authored-by: Denise Worthen <[email protected]> Co-authored-by: SMoorthi-emc <[email protected]> Co-authored-by: ChunxiZhang-NOAA <[email protected]> Co-authored-by: Jun Wang <[email protected]> Co-authored-by: Ted Mansell <[email protected]> Co-authored-by: Jeff Whitaker <[email protected]> Co-authored-by: Gerhard Theurich <[email protected]> Co-authored-by: DomHeinzeller <[email protected]> Co-authored-by: Raffaele Montuoro <[email protected]> Co-authored-by: JeffBeck-NOAA <[email protected]> Co-authored-by: MatthewPyle-NOAA <[email protected]> Co-authored-by: Hannah C Barnes <[email protected]> Co-authored-by: Joseph Olson <[email protected]> Co-authored-by: mdtoyNOAA <[email protected]> Co-authored-by: haiqinli <[email protected]> Co-authored-by: Ted Mansell <[email protected]> Co-authored-by: Jessica Meixner <[email protected]> Co-authored-by: Jun Wang <[email protected]> Co-authored-by: joeolson42 <[email protected]> Co-authored-by: HelinWei-NOAA <[email protected]> Co-authored-by: Brian Curtis <[email protected]> Co-authored-by: dustinswales <[email protected]> Co-authored-by: Bin Liu <[email protected]> Co-authored-by: Dom Heinzeller <[email protected]> Co-authored-by: Grant Firl <[email protected]> Co-authored-by: Daniel Rosen <[email protected]> Co-authored-by: man.zhang <[email protected]> Co-authored-by: William Ramstrom <[email protected]> Co-authored-by: Ufuk Turuncoglu <[email protected]> Co-authored-by: Dusan Jovic <[email protected]> Co-authored-by: A-Kyle <[email protected]> Co-authored-by: ClaraDraper-NOAA <[email protected]> Co-authored-by: BinLi-NOAA <[email protected]>
Description
Syncs the gsl/develop branch from the GSL institutional fork with the NOAA-EMC develop. This includes surface layer, PBL, gravity wave drag, smoke, and other improvements from GSL RRFS and global model development.
Detailed changelog:
start, snow on land or on ice is initialized in io/FV3GFS_io.F90. In case of
a warm start, these variables are carried along.
Issue(s) addressed
Testing
This was tested in several global and regional model parallels over the last few months. Regression tests are run for hera.intel, hera.gnu, and jet.intel. There's a new regression test, and results will change.
Dependencies
NCAR/ccpp-physics#911